home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / t3_1 / risc_src.lha / risc_sources / xlib / #xws6.t# < prev    next >
Text File  |  1990-06-01  |  48KB  |  1,096 lines

  1. (HERALD XWS6 (ENV TSYS (XLIB INTERFACE)))
  2.  
  3. (DEFINE-FOREIGN XCLEARWINDOW*
  4.                 ("XClearWindow" (IN REP/C-POINTER) (IN REP/INTEGER))
  5.                 IGNORE)
  6. (DEFINE (XCLEARWINDOW DPY W)
  7.         (LET* ((DPY (CHK-DISPLAYP DPY))
  8.                (W W)
  9.                (RETURN-VALUE (BLOCK (XCLEARWINDOW* DPY W) '())))
  10.               RETURN-VALUE))
  11. (DEFINE-FOREIGN XCLEARAREA*
  12.                 ("XClearArea" (IN REP/C-POINTER)
  13.                               (IN REP/INTEGER)
  14.                               (IN REP/INTEGER)
  15.                               (IN REP/INTEGER)
  16.                               (IN REP/INTEGER)
  17.                               (IN REP/INTEGER)
  18.                               (IN REP/INTEGER))
  19.                 IGNORE)
  20. (DEFINE (XCLEARAREA DPY W X Y WIDTH HEIGHT EXPOSURES)
  21.         (LET* ((DPY (CHK-DISPLAYP DPY))
  22.                (W W)
  23.                (X X)
  24.                (Y Y)
  25.                (WIDTH WIDTH)
  26.                (HEIGHT HEIGHT)
  27.                (EXPOSURES EXPOSURES)
  28.                (RETURN-VALUE (BLOCK (XCLEARAREA* DPY
  29.                                                  W
  30.                                                  X
  31.                                                  Y
  32.                                                  WIDTH
  33.                                                  HEIGHT
  34.                                                  EXPOSURES)
  35.                                     '())))
  36.               RETURN-VALUE))
  37. (DEFINE-FOREIGN XCOPYAREA*
  38.                 ("XCopyArea" (IN REP/C-POINTER)
  39.                              (IN REP/INTEGER)
  40.                              (IN REP/INTEGER)
  41.                              (IN REP/C-POINTER)
  42.                              (IN REP/INTEGER)
  43.                              (IN REP/INTEGER)
  44.                              (IN REP/INTEGER)
  45.                              (IN REP/INTEGER)
  46.                              (IN REP/INTEGER)
  47.                              (IN REP/INTEGER))
  48.                 IGNORE)
  49. (DEFINE (XCOPYAREA DPY
  50.                    SRC_DRAWABLE
  51.                    DST_DRAWABLE
  52.                    GC
  53.                    SRC_X
  54.                    SRC_Y
  55.                    WIDTH
  56.                    HEIGHT
  57.                    DST_X
  58.                    DST_Y)
  59.         (LET* ((DPY (CHK-DISPLAYP DPY))
  60.                (SRC_DRAWABLE SRC_DRAWABLE)
  61.                (DST_DRAWABLE DST_DRAWABLE)
  62.                (GC (CHK-GC GC))
  63.                (SRC_X SRC_X)
  64.                (SRC_Y SRC_Y)
  65.                (WIDTH WIDTH)
  66.                (HEIGHT HEIGHT)
  67.                (DST_X DST_X)
  68.                (DST_Y DST_Y)
  69.                (RETURN-VALUE (BLOCK (XCOPYAREA* DPY
  70.                                                 SRC_DRAWABLE
  71.                                                 DST_DRAWABLE
  72.                                                 GC
  73.                                                 SRC_X
  74.                                                 SRC_Y
  75.                                                 WIDTH
  76.                                                 HEIGHT
  77.                                                 DST_X
  78.                                                 DST_Y)
  79.                                     '())))
  80.               RETURN-VALUE))
  81. (DEFINE-FOREIGN XCOPYPLANE*
  82.                 ("XCopyPlane" (IN REP/C-POINTER)
  83.                               (IN REP/INTEGER)
  84.                               (IN REP/INTEGER)
  85.                               (IN REP/C-POINTER)
  86.                               (IN REP/INTEGER)
  87.                               (IN REP/INTEGER)
  88.                               (IN REP/INTEGER)
  89.                               (IN REP/INTEGER)
  90.                               (IN REP/INTEGER)
  91.                               (IN REP/INTEGER)
  92.                               (IN REP/INTEGER))
  93.                 IGNORE)
  94. (DEFINE (XCOPYPLANE DPY
  95.                     SRC_DRAWABLE
  96.                     DST_DRAWABLE
  97.                     GC
  98.                     SRC_X
  99.                     SRC_Y
  100.                     WIDTH
  101.                     HEIGHT
  102.                     DST_X
  103.                     DST_Y
  104.                     BIT_PLANE)
  105.         (LET* ((DPY (CHK-DISPLAYP DPY))
  106.                (SRC_DRAWABLE SRC_DRAWABLE)
  107.                (DST_DRAWABLE DST_DRAWABLE)
  108.                (GC (CHK-GC GC))
  109.                (SRC_X SRC_X)
  110.                (SRC_Y SRC_Y)
  111.                (WIDTH WIDTH)
  112.                (HEIGHT HEIGHT)
  113.                (DST_X DST_X)
  114.                (DST_Y DST_Y)
  115.                (BIT_PLANE BIT_PLANE)
  116.                (RETURN-VALUE (BLOCK (XCOPYPLANE* DPY
  117.                                                  SRC_DRAWABLE
  118.                                                  DST_DRAWABLE
  119.                                                  GC
  120.                                                  SRC_X
  121.                                                  SRC_Y
  122.                                                  WIDTH
  123.                                                  HEIGHT
  124.                                                  DST_X
  125.                                                  DST_Y
  126.                                                  BIT_PLANE)
  127.                                     '())))
  128.               RETURN-VALUE))
  129. (DEFINE-FOREIGN XDRAWPOINT*
  130.                 ("XDrawPoint" (IN REP/C-POINTER)
  131.                               (IN REP/INTEGER)
  132.                               (IN REP/C-POINTER)
  133.                               (IN REP/INTEGER)
  134.                               (IN REP/INTEGER))
  135.                 IGNORE)
  136. (DEFINE (XDRAWPOINT DPY D GC X Y)
  137.         (LET* ((DPY (CHK-DISPLAYP DPY))
  138.                (D D)
  139.                (GC (CHK-GC GC))
  140.                (X X)
  141.                (Y Y)
  142.                (RETURN-VALUE (BLOCK (XDRAWPOINT* DPY D GC X Y) '())))
  143.               RETURN-VALUE))
  144. (DEFINE-FOREIGN XDRAWPOINTS*
  145.                 ("XDrawPoints" (IN REP/C-POINTER)
  146.                                (IN REP/INTEGER)
  147.                                (IN REP/C-POINTER)
  148.                                (IN REP/C-POINTER)
  149.                                (IN REP/INTEGER)
  150.                                (IN REP/INTEGER))
  151.                 IGNORE)
  152. (DEFINE (XDRAWPOINTS DPY D GC POINTS N_POINTS MODE)
  153.         (LET* ((DPY (CHK-DISPLAYP DPY))
  154.                (D D)
  155.                (GC (CHK-GC GC))
  156.                (POINTS (CHK-XPOINTAP POINTS))
  157.                (N_POINTS N_POINTS)
  158.                (MODE MODE)
  159.                (RETURN-VALUE (BLOCK (XDRAWPOINTS* DPY D GC POINTS N_POINTS MODE)
  160.                                     '())))
  161.               RETURN-VALUE))
  162. (DEFINE-FOREIGN XDRAWLINE*
  163.                 ("XDrawLine" (IN REP/C-POINTER)
  164.                              (IN REP/INTEGER)
  165.                              (IN REP/C-POINTER)
  166.                              (IN REP/INTEGER)
  167.                              (IN REP/INTEGER)
  168.                              (IN REP/INTEGER)
  169.                              (IN REP/INTEGER))
  170.                 IGNORE)
  171. (DEFINE (XDRAWLINE DPY D GC X1 Y1 X2 Y2)
  172.         (LET* ((DPY (CHK-DISPLAYP DPY))
  173.                (D D)
  174.                (GC (CHK-GC GC))
  175.                (X1 X1)
  176.                (Y1 Y1)
  177.                (X2 X2)
  178.                (Y2 Y2)
  179.                (RETURN-VALUE (BLOCK (XDRAWLINE* DPY D GC X1 Y1 X2 Y2)
  180.                                     '())))
  181.               RETURN-VALUE))
  182. (DEFINE-FOREIGN XDRAWLINES*
  183.                 ("XDrawLines" (IN REP/C-POINTER)
  184.                               (IN REP/INTEGER)
  185.                               (IN REP/C-POINTER)
  186.                               (IN REP/C-POINTER)
  187.                               (IN REP/INTEGER)
  188.                               (IN REP/INTEGER))
  189.                 IGNORE)
  190. (DEFINE (XDRAWLINES DPY D GC POINTS NPOINTS MODE)
  191.         (LET* ((DPY (CHK-DISPLAYP DPY))
  192.                (D D)
  193.                (GC (CHK-GC GC))
  194.                (POINTS (CHK-XPOINTAP POINTS))
  195.                (NPOINTS NPOINTS)
  196.                (MODE MODE)
  197.                (RETURN-VALUE (BLOCK (XDRAWLINES* DPY D GC POINTS NPOINTS MODE)
  198.                                     '())))
  199.               RETURN-VALUE))
  200. (DEFINE-FOREIGN XDRAWSEGMENTS*
  201.                 ("XDrawSegments" (IN REP/C-POINTER)
  202.                                  (IN REP/INTEGER)
  203.                                  (IN REP/C-POINTER)
  204.                                  (IN REP/C-POINTER)
  205.                                  (IN REP/INTEGER))
  206.                 IGNORE)
  207. (DEFINE (XDRAWSEGMENTS DPY D GC SEGMENTS NSEGMENTS)
  208.         (LET* ((DPY (CHK-DISPLAYP DPY))
  209.                (D D)
  210.                (GC (CHK-GC GC))
  211.                (SEGMENTS (CHK-XSEGMENTAP SEGMENTS))
  212.                (NSEGMENTS NSEGMENTS)
  213.                (RETURN-VALUE (BLOCK (XDRAWSEGMENTS* DPY D GC SEGMENTS NSEGMENTS)
  214.                                     '())))
  215.               RETURN-VALUE))
  216. (DEFINE-FOREIGN XDRAWRECTANGLE*
  217.                 ("XDrawRectangle" (IN REP/C-POINTER)
  218.                                   (IN REP/INTEGER)
  219.                                   (IN REP/C-POINTER)
  220.                                   (IN REP/INTEGER)
  221.                                   (IN REP/INTEGER)
  222.                                   (IN REP/INTEGER)
  223.                                   (IN REP/INTEGER))
  224.                 IGNORE)
  225. (DEFINE (XDRAWRECTANGLE DPY D GC X Y WIDTH HEIGHT)
  226.         (LET* ((DPY (CHK-DISPLAYP DPY))
  227.                (D D)
  228.                (GC (CHK-GC GC))
  229.                (X X)
  230.                (Y Y)
  231.                (WIDTH WIDTH)
  232.                (HEIGHT HEIGHT)
  233.                (RETURN-VALUE (BLOCK (XDRAWRECTANGLE* DPY D GC X Y WIDTH HEIGHT)
  234.                                     '())))
  235.               RETURN-VALUE))
  236. (DEFINE-FOREIGN XDRAWRECTANGLES*
  237.                 ("XDrawRectangles" (IN REP/C-POINTER)
  238.                                    (IN REP/INTEGER)
  239.                                    (IN REP/C-POINTER)
  240.                                    (IN REP/C-POINTER)
  241.                                    (IN REP/INTEGER))
  242.                 IGNORE)
  243. (DEFINE (XDRAWRECTANGLES DPY D GC RECTS N_RECTS)
  244.         (LET* ((DPY (CHK-DISPLAYP DPY))
  245.                (D D)
  246.                (GC (CHK-GC GC))
  247.                (RECTS (CHK-XRECTANGLEAP RECTS))
  248.                (N_RECTS N_RECTS)
  249.                (RETURN-VALUE (BLOCK (XDRAWRECTANGLES* DPY D GC RECTS N_RECTS)
  250.                                     '())))
  251.               RETURN-VALUE))
  252. (DEFINE-FOREIGN XDRAWARC*
  253.                 ("XDrawArc" (IN REP/C-POINTER)
  254.                             (IN REP/INTEGER)
  255.                             (IN REP/C-POINTER)
  256.                             (IN REP/INTEGER)
  257.                             (IN REP/INTEGER)
  258.                             (IN REP/INTEGER)
  259.                             (IN REP/INTEGER)
  260.                             (IN REP/INTEGER)
  261.                             (IN REP/INTEGER))
  262.                 IGNORE)
  263. (DEFINE (XDRAWARC DPY D GC X Y WIDTH HEIGHT ANGLE1 ANGLE2)
  264.         (LET* ((DPY (CHK-DISPLAYP DPY))
  265.                (D D)
  266.                (GC (CHK-GC GC))
  267.                (X X)
  268.                (Y Y)
  269.                (WIDTH WIDTH)
  270.                (HEIGHT HEIGHT)
  271.                (ANGLE1 ANGLE1)
  272.                (ANGLE2 ANGLE2)
  273.                (RETURN-VALUE (BLOCK (XDRAWARC* DPY
  274.                                                D
  275.                                                GC
  276.                                                X
  277.                                                Y
  278.                                                WIDTH
  279.                                                HEIGHT
  280.                                                ANGLE1
  281.                                                ANGLE2)
  282.                                     '())))
  283.               RETURN-VALUE))
  284. (DEFINE-FOREIGN XDRAWARCS*
  285.                 ("XDrawArcs" (IN REP/C-POINTER)
  286.                              (IN REP/INTEGER)
  287.                              (IN REP/C-POINTER)
  288.                              (IN REP/C-POINTER)
  289.                              (IN REP/INTEGER))
  290.                 IGNORE)
  291. (DEFINE (XDRAWARCS DPY D GC ARCS N_ARCS)
  292.         (LET* ((DPY (CHK-DISPLAYP DPY))
  293.                (D D)
  294.                (GC (CHK-GC GC))
  295.                (ARCS (CHK-XARCAP ARCS))
  296.                (N_ARCS N_ARCS)
  297.                (RETURN-VALUE (BLOCK (XDRAWARCS* DPY D GC ARCS N_ARCS)
  298.                                     '())))
  299.               RETURN-VALUE))
  300. (DEFINE-FOREIGN XFILLRECTANGLE*
  301.                 ("XFillRectangle" (IN REP/C-POINTER)
  302.                                   (IN REP/INTEGER)
  303.                                   (IN REP/C-POINTER)
  304.                                   (IN REP/INTEGER)
  305.                                   (IN REP/INTEGER)
  306.                                   (IN REP/INTEGER)
  307.                                   (IN REP/INTEGER))
  308.                 IGNORE)
  309. (DEFINE (XFILLRECTANGLE DPY D GC X Y WIDTH HEIGHT)
  310.         (LET* ((DPY (CHK-DISPLAYP DPY))
  311.                (D D)
  312.                (GC (CHK-GC GC))
  313.                (X X)
  314.                (Y Y)
  315.                (WIDTH WIDTH)
  316.                (HEIGHT HEIGHT)
  317.                (RETURN-VALUE (BLOCK (XFILLRECTANGLE* DPY D GC X Y WIDTH HEIGHT)
  318.                                     '())))
  319.               RETURN-VALUE))
  320. (DEFINE-FOREIGN XFILLRECTANGLES*
  321.                 ("XFillRectangles" (IN REP/C-POINTER)
  322.                                    (IN REP/INTEGER)
  323.                                    (IN REP/C-POINTER)
  324.                                    (IN REP/C-POINTER)
  325.                                    (IN REP/INTEGER))
  326.                 IGNORE)
  327. (DEFINE (XFILLRECTANGLES DPY D GC RECTANGLES N_RECTS)
  328.         (LET* ((DPY (CHK-DISPLAYP DPY))
  329.                (D D)
  330.                (GC (CHK-GC GC))
  331.                (RECTANGLES (CHK-XRECTANGLEAP RECTANGLES))
  332.                (N_RECTS N_RECTS)
  333.                (RETURN-VALUE (BLOCK (XFILLRECTANGLES* DPY
  334.                                                       D
  335.                                                       GC
  336.                                                       RECTANGLES
  337.                                                       N_RECTS)
  338.                                     '())))
  339.               RETURN-VALUE))
  340. (DEFINE-FOREIGN XFILLPOLYGON*
  341.                 ("XFillPolygon" (IN REP/C-POINTER)
  342.                                 (IN REP/INTEGER)
  343.                                 (IN REP/C-POINTER)
  344.                                 (IN REP/C-POINTER)
  345.                                 (IN REP/INTEGER)
  346.                                 (IN REP/INTEGER)
  347.                                 (IN REP/INTEGER))
  348.                 IGNORE)
  349. (DEFINE (XFILLPOLYGON DPY D GC POINTS N_POINTS SHAPE MODE)
  350.         (LET* ((DPY (CHK-DISPLAYP DPY))
  351.                (D D)
  352.                (GC (CHK-GC GC))
  353.                (POINTS (CHK-XPOINTAP POINTS))
  354.                (N_POINTS N_POINTS)
  355.                (SHAPE SHAPE)
  356.                (MODE MODE)
  357.                (RETURN-VALUE (BLOCK (XFILLPOLYGON* DPY
  358.                                                    D
  359.                                                    GC
  360.                                                    POINTS
  361.                                                    N_POINTS
  362.                                                    SHAPE
  363.                                                    MODE)
  364.                                     '())))
  365.               RETURN-VALUE))
  366. (DEFINE-FOREIGN XFILLARC*
  367.                 ("XFillArc" (IN REP/C-POINTER)
  368.                             (IN REP/INTEGER)
  369.                             (IN REP/C-POINTER)
  370.                             (IN REP/INTEGER)
  371.                             (IN REP/INTEGER)
  372.                             (IN REP/INTEGER)
  373.                             (IN REP/INTEGER)
  374.                             (IN REP/INTEGER)
  375.                             (IN REP/INTEGER))
  376.                 IGNORE)
  377. (DEFINE (XFILLARC DPY D GC X Y WIDTH HEIGHT ANGLE1 ANGLE2)
  378.         (LET* ((DPY (CHK-DISPLAYP DPY))
  379.                (D D)
  380.                (GC (CHK-GC GC))
  381.                (X X)
  382.                (Y Y)
  383.                (WIDTH WIDTH)
  384.                (HEIGHT HEIGHT)
  385.                (ANGLE1 ANGLE1)
  386.                (ANGLE2 ANGLE2)
  387.                (RETURN-VALUE (BLOCK (XFILLARC* DPY
  388.                                                D
  389.                                                GC
  390.                                                X
  391.                                                Y
  392.                                                WIDTH
  393.                                                HEIGHT
  394.                                                ANGLE1
  395.                                                ANGLE2)
  396.                                     '())))
  397.               RETURN-VALUE))
  398. (DEFINE-FOREIGN XFILLARCS*
  399.                 ("XFillArcs" (IN REP/C-POINTER)
  400.                              (IN REP/INTEGER)
  401.                              (IN REP/C-POINTER)
  402.                              (IN REP/C-POINTER)
  403.                              (IN REP/INTEGER))
  404.                 IGNORE)
  405. (DEFINE (XFILLARCS DPY D GC ARCS N_ARCS)
  406.         (LET* ((DPY (CHK-DISPLAYP DPY))
  407.                (D D)
  408.                (GC (CHK-GC GC))
  409.                (ARCS (CHK-XARCAP ARCS))
  410.                (N_ARCS N_ARCS)
  411.                (RETURN-VALUE (BLOCK (XFILLARCS* DPY D GC ARCS N_ARCS)
  412.                                     '())))
  413.               RETURN-VALUE))
  414. (DEFINE-FOREIGN XLOADFONT*
  415.                 ("XLoadFont" (IN REP/C-POINTER) (IN REP/STRING))
  416.                 REP/INTEGER)
  417. (DEFINE (XLOADFONT DPY NAME)
  418.         (LET* ((DPY (CHK-DISPLAYP DPY))
  419.                (NAME (IF (STRING? NAME)
  420.                          (STRING->ASCIZ! NAME)
  421.                          (ERROR "Argument is incorrect type: ~s" NAME)))
  422.                (RETURN-VALUE (XLOADFONT* DPY NAME)))
  423.               RETURN-VALUE))
  424. (DEFINE-FOREIGN XQUERYFONT*
  425.                 ("XQueryFont" (IN REP/C-POINTER) (IN REP/INTEGER))
  426.                 REP/C-POINTER)
  427. (DEFINE (XQUERYFONT DPY FID)
  428.         (LET* ((DPY (CHK-DISPLAYP DPY))
  429.                (FID FID)
  430.                (RETURN-VALUE (CONS 'XFONTSTRUCTP (XQUERYFONT* DPY FID))))
  431.               RETURN-VALUE))
  432. (DEFINE-FOREIGN XLOADQUERYFONT*
  433.                 ("XLoadQueryFont" (IN REP/C-POINTER) (IN REP/STRING))
  434.                 REP/C-POINTER)
  435. (DEFINE (XLOADQUERYFONT DPY NAME)
  436.         (LET* ((DPY (CHK-DISPLAYP DPY))
  437.                (NAME (IF (STRING? NAME)
  438.                          (STRING->ASCIZ! NAME)
  439.                          (ERROR "Argument is incorrect type: ~s" NAME)))
  440.                (RETURN-VALUE (CONS 'XFONTSTRUCTP
  441.                                    (XLOADQUERYFONT* DPY NAME))))
  442.               RETURN-VALUE))
  443. (DEFINE-FOREIGN XFREEFONT*
  444.                 ("XFreeFont" (IN REP/C-POINTER) (IN REP/C-POINTER))
  445.                 IGNORE)
  446. (DEFINE (XFREEFONT DPY FS)
  447.         (LET* ((DPY (CHK-DISPLAYP DPY))
  448.                (FS (CHK-XFONTSTRUCTP FS))
  449.                (RETURN-VALUE (BLOCK (XFREEFONT* DPY FS) '())))
  450.               RETURN-VALUE))
  451. (DEFINE-FOREIGN XGETFONTPROPERTY*
  452.                 ("XGetFontProperty" (IN REP/C-POINTER)
  453.                                     (IN REP/INTEGER)
  454.                                     (IN REP/EXTEND))
  455.                 REP/INTEGER)
  456. (DEFINE (XGETFONTPROPERTY FS NAME)
  457.         (LET* ((FS (CHK-XFONTSTRUCTP FS))
  458.                (NAME NAME)
  459.                (VALUEPTR (MAKE-BYTEV 4))
  460.                (RETURN-VALUE (XGETFONTPROPERTY* FS NAME VALUEPTR)))
  461.               (RETURN RETURN-VALUE (MREF-INTEGER VALUEPTR 0))))
  462. (DEFINE-FOREIGN XUNLOADFONT*
  463.                 ("XUnloadFont" (IN REP/C-POINTER) (IN REP/INTEGER))
  464.                 IGNORE)
  465. (DEFINE (XUNLOADFONT DPY FONT)
  466.         (LET* ((DPY (CHK-DISPLAYP DPY))
  467.                (FONT FONT)
  468.                (RETURN-VALUE (BLOCK (XUNLOADFONT* DPY FONT) '())))
  469.               RETURN-VALUE))
  470. (DEFINE-FOREIGN XLISTFONTS*
  471.                 ("XListFonts" (IN REP/C-POINTER)
  472.                               (IN REP/STRING)
  473.                               (IN REP/INTEGER)
  474.                               (IN REP/EXTEND))
  475.                 REP/C-POINTER)
  476. (DEFINE (XLISTFONTS DPY PATTERN MAXNAMES)
  477.         (LET* ((DPY (CHK-DISPLAYP DPY))
  478.                (PATTERN (IF (STRING? PATTERN)
  479.                             (STRING->ASCIZ! PATTERN)
  480.                             (ERROR "Argument is incorrect type: ~s" PATTERN)))
  481.                (MAXNAMES MAXNAMES)
  482.                (ACTUAL_COUNT (MAKE-BYTEV 4))
  483.                (RETURN-VALUE (CONS 'CHARPAP
  484.                                    (XLISTFONTS* DPY
  485.                                                 PATTERN
  486.                                                 MAXNAMES
  487.                                                 ACTUAL_COUNT))))
  488.               (RETURN RETURN-VALUE (MREF-INTEGER ACTUAL_COUNT 0))))
  489. (DEFINE-FOREIGN XFREEFONTNAMES* ("XFreeFontNames" (IN REP/C-POINTER)) IGNORE)
  490. (DEFINE (XFREEFONTNAMES LIST)
  491.         (LET* ((LIST (CHK-CHARPAP LIST))
  492.                (RETURN-VALUE (BLOCK (XFREEFONTNAMES* LIST) '())))
  493.               RETURN-VALUE))
  494. (DEFINE-FOREIGN XLISTFONTSWITHINFO*
  495.                 ("XListFontsWithInfo" (IN REP/C-POINTER)
  496.                                       (IN REP/STRING)
  497.                                       (IN REP/INTEGER)
  498.                                       (IN REP/EXTEND)
  499.                                       (IN REP/EXTEND))
  500.                 REP/C-POINTER)
  501. (DEFINE (XLISTFONTSWITHINFO DPY PATTERN MAXNAMES)
  502.         (LET* ((DPY (CHK-DISPLAYP DPY))
  503.                (PATTERN (IF (STRING? PATTERN)
  504.                             (STRING->ASCIZ! PATTERN)
  505.                             (ERROR "Argument is incorrect type: ~s" PATTERN)))
  506.                (MAXNAMES MAXNAMES)
  507.                (ACTUAL_COUNT (MAKE-BYTEV 4))
  508.                (INFO (MAKE-BYTEV 4))
  509.                (RETURN-VALUE (CONS 'CHARPAP
  510.                                    (XLISTFONTSWITHINFO* DPY
  511.                                                         PATTERN
  512.                                                         MAXNAMES
  513.                                                         ACTUAL_COUNT
  514.                                                         INFO))))
  515.               (RETURN RETURN-VALUE
  516.                       (MREF-INTEGER ACTUAL_COUNT 0)
  517.                       (CONS 'XFONTSTRUCTAP (MREF-POINTER INFO 0)))))
  518. (DEFINE-FOREIGN XFREEFONTINFO*
  519.                 ("XFreeFontInfo" (IN REP/C-POINTER)
  520.                                  (IN REP/C-POINTER)
  521.                                  (IN REP/INTEGER))
  522.                 IGNORE)
  523. (DEFINE (XFREEFONTINFO NAMES INFO COUNT)
  524.         (LET* ((NAMES (CHK-CHARPAP NAMES))
  525.                (INFO (CHK-XFONTSTRUCTAP INFO))
  526.                (COUNT COUNT)
  527.                (RETURN-VALUE (BLOCK (XFREEFONTINFO* NAMES INFO COUNT)
  528.                                     '())))
  529.               RETURN-VALUE))
  530. (DEFINE-FOREIGN XSETFONTPATH*
  531.                 ("XSetFontPath" (IN REP/C-POINTER)
  532.                                 (IN REP/C-POINTER)
  533.                                 (IN REP/INTEGER))
  534.                 IGNORE)
  535. (DEFINE (XSETFONTPATH DPY DIRECTORIES NDIRS)
  536.         (LET* ((DPY (CHK-DISPLAYP DPY))
  537.                (DIRECTORIES (CHK-CHARPAP DIRECTORIES))
  538.                (NDIRS NDIRS)
  539.                (RETURN-VALUE (BLOCK (XSETFONTPATH* DPY DIRECTORIES NDIRS)
  540.                                     '())))
  541.               RETURN-VALUE))
  542. (DEFINE-FOREIGN XGETFONTPATH*
  543.                 ("XGetFontPath" (IN REP/C-POINTER) (IN REP/INTEGER))
  544.                 REP/C-POINTER)
  545. (DEFINE (XGETFONTPATH DPY NPATHS)
  546.         (LET* ((DPY (CHK-DISPLAYP DPY))
  547.                (NPATHS NPATHS)
  548.                (RETURN-VALUE (CONS 'CHARPAP (XGETFONTPATH* DPY NPATHS))))
  549.               RETURN-VALUE))
  550. (DEFINE-FOREIGN XFREEFONTPATH*
  551.                 ("XFreeFontPath" (IN REP/C-POINTER))
  552.                 REP/C-POINTER)
  553. (DEFINE (XFREEFONTPATH LIST)
  554.         (LET* ((LIST (CHK-CHARPAP LIST))
  555.                (RETURN-VALUE (CONS 'CHARPAP (XFREEFONTPATH* LIST))))
  556.               RETURN-VALUE))
  557. (DEFINE-FOREIGN XTEXTWIDTH*
  558.                 ("XTextWidth" (IN REP/C-POINTER)
  559.                               (IN REP/STRING)
  560.                               (IN REP/INTEGER))
  561.                 REP/INTEGER)
  562. (DEFINE (XTEXTWIDTH FONTSTRUCT STRING COUNT)
  563.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  564.                (STRING (IF (STRING? STRING)
  565.                            (STRING->ASCIZ! STRING)
  566.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  567.                (COUNT COUNT)
  568.                (RETURN-VALUE (XTEXTWIDTH* FONTSTRUCT STRING COUNT)))
  569.               RETURN-VALUE))
  570. (DEFINE-FOREIGN XTEXTWIDTH16*
  571.                 ("XTextWidth16" (IN REP/C-POINTER)
  572.                                 (IN REP/C-POINTER)
  573.                                 (IN REP/INTEGER))
  574.                 REP/INTEGER)
  575. (DEFINE (XTEXTWIDTH16 FONTSTRUCT STRING COUNT)
  576.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  577.                (STRING (CHK-XCHAR2BAP STRING))
  578.                (COUNT COUNT)
  579.                (RETURN-VALUE (XTEXTWIDTH16* FONTSTRUCT STRING COUNT)))
  580.               RETURN-VALUE))
  581. (DEFINE-FOREIGN XTEXTEXTENTS*
  582.                 ("XTextExtents" (IN REP/C-POINTER)
  583.                                 (IN REP/STRING)
  584.                                 (IN REP/INTEGER)
  585.                                 (IN REP/EXTEND)
  586.                                 (IN REP/EXTEND)
  587.                                 (IN REP/EXTEND)
  588.                                 (IN REP/EXTEND))
  589.                 IGNORE)
  590. (DEFINE (XTEXTEXTENTS FONTSTRUCT STRING NCHARS)
  591.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  592.                (STRING (IF (STRING? STRING)
  593.                            (STRING->ASCIZ! STRING)
  594.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  595.                (NCHARS NCHARS)
  596.                (DIR (MAKE-BYTEV 4))
  597.                (FONT_ASCENT (MAKE-BYTEV 4))
  598.                (FONT_DESCENT (MAKE-BYTEV 4))
  599.                (OVERALL (MAKE-BYTEV 12))
  600.                (RETURN-VALUE (BLOCK (XTEXTEXTENTS* FONTSTRUCT
  601.                                                    STRING
  602.                                                    NCHARS
  603.                                                    DIR
  604.                                                    FONT_ASCENT
  605.                                                    FONT_DESCENT
  606.                                                    OVERALL)
  607.                                     '())))
  608.               (RETURN (MREF-INTEGER DIR 0)
  609.                       (MREF-INTEGER FONT_ASCENT 0)
  610.                       (MREF-INTEGER FONT_DESCENT 0)
  611.                       (CONS 'XCHARSTRUCTP OVERALL))))
  612. (DEFINE-FOREIGN XTEXTEXTENTS16*
  613.                 ("XTextExtents16" (IN REP/C-POINTER)
  614.                                   (IN REP/C-POINTER)
  615.                                   (IN REP/INTEGER)
  616.                                   (IN REP/EXTEND)
  617.                                   (IN REP/EXTEND)
  618.                                   (IN REP/EXTEND)
  619.                                   (IN REP/EXTEND))
  620.                 IGNORE)
  621. (DEFINE (XTEXTEXTENTS16 FONTSTRUCT STRING NCHARS)
  622.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  623.                (STRING (CHK-XCHAR2BAP STRING))
  624.                (NCHARS NCHARS)
  625.                (DIR (MAKE-BYTEV 4))
  626.                (FONT_ASCENT (MAKE-BYTEV 4))
  627.                (FONT_DESCENT (MAKE-BYTEV 4))
  628.                (OVERALL (MAKE-BYTEV 12))
  629.                (RETURN-VALUE (BLOCK (XTEXTEXTENTS16* FONTSTRUCT
  630.                                                      STRING
  631.                                                      NCHARS
  632.                                                      DIR
  633.                                                      FONT_ASCENT
  634.                                                      FONT_DESCENT
  635.                                                      OVERALL)
  636.                                     '())))
  637.               (RETURN (MREF-INTEGER DIR 0)
  638.                       (MREF-INTEGER FONT_ASCENT 0)
  639.                       (MREF-INTEGER FONT_DESCENT 0)
  640.                       (CONS 'XCHARSTRUCTP OVERALL))))
  641. (DEFINE-FOREIGN XQUERYTEXTEXTENTS*
  642.                 ("XQueryTextExtents" (IN REP/C-POINTER)
  643.                                      (IN REP/INTEGER)
  644.                                      (IN REP/STRING)
  645.                                      (IN REP/INTEGER)
  646.                                      (IN REP/EXTEND)
  647.                                      (IN REP/EXTEND)
  648.                                      (IN REP/EXTEND)
  649.                                      (IN REP/EXTEND))
  650.                 IGNORE)
  651. (DEFINE (XQUERYTEXTEXTENTS DPY FID STRING NCHARS)
  652.         (LET* ((DPY (CHK-DISPLAYP DPY))
  653.                (FID FID)
  654.                (STRING (IF (STRING? STRING)
  655.                            (STRING->ASCIZ! STRING)
  656.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  657.                (NCHARS NCHARS)
  658.                (DIR (MAKE-BYTEV 4))
  659.                (FONT_ASCENT (MAKE-BYTEV 4))
  660.                (FONT_DESCENT (MAKE-BYTEV 4))
  661.                (OVERALL (MAKE-BYTEV 12))
  662.                (RETURN-VALUE (BLOCK (XQUERYTEXTEXTENTS* DPY
  663.                                                         FID
  664.                                                         STRING
  665.                                                         NCHARS
  666.                                                         DIR
  667.                                                         FONT_ASCENT
  668.                                                         FONT_DESCENT
  669.                                                         OVERALL)
  670.                                     '())))
  671.               (RETURN (MREF-INTEGER DIR 0)
  672.                       (MREF-INTEGER FONT_ASCENT 0)
  673.                       (MREF-INTEGER FONT_DESCENT 0)
  674.                       (CONS 'XCHARSTRUCTP OVERALL))))
  675. (DEFINE-FOREIGN XQUERYTEXTEXTENTS16*
  676.                 ("XQueryTextExtents16" (IN REP/C-POINTER)
  677.                                        (IN REP/INTEGER)
  678.                                        (IN REP/C-POINTER)
  679.                                        (IN REP/INTEGER)
  680.                                        (IN REP/EXTEND)
  681.                                        (IN REP/EXTEND)
  682.                                        (IN REP/EXTEND)
  683.                                        (IN REP/EXTEND))
  684.                 IGNORE)
  685. (DEFINE (XQUERYTEXTEXTENTS16 DPY FID STRING NCHARS)
  686.         (LET* ((DPY (CHK-DISPLAYP DPY))
  687.                (FID FID)
  688.                (STRING (CHK-XCHAR2BAP STRING))
  689.                (NCHARS NCHARS)
  690.                (DIR (MAKE-BYTEV 4))
  691.                (FONT_ASCENT (MAKE-BYTEV 4))
  692.                (FONT_DESCENT (MAKE-BYTEV 4))
  693.                (OVERALL (MAKE-BYTEV 12))
  694.                (RETURN-VALUE (BLOCK (XQUERYTEXTEXTENTS16* DPY
  695.                                                           FID
  696.                                                           STRING
  697.                                                           NCHARS
  698.                                                           DIR
  699.                                                           FONT_ASCENT
  700.                                                           FONT_DESCENT
  701.                                                           OVERALL)
  702.                                     '())))
  703.               (RETURN (MREF-INTEGER DIR 0)
  704.                       (MREF-INTEGER FONT_ASCENT 0)
  705.                       (MREF-INTEGER FONT_DESCENT 0)
  706.                       (CONS 'XCHARSTRUCTP OVERALL))))
  707. (DEFINE-FOREIGN XDRAWTEXT*
  708.                 ("XDrawText" (IN REP/C-POINTER)
  709.                              (IN REP/INTEGER)
  710.                              (IN REP/C-POINTER)
  711.                              (IN REP/INTEGER)
  712.                              (IN REP/INTEGER)
  713.                              (IN REP/C-POINTER)
  714.                              (IN REP/INTEGER))
  715.                 IGNORE)
  716. (DEFINE (XDRAWTEXT DPY D GC X Y ITEMS NITEMS)
  717.         (LET* ((DPY (CHK-DISPLAYP DPY))
  718.                (D D)
  719.                (GC (CHK-GC GC))
  720.                (X X)
  721.                (Y Y)
  722.                (ITEMS (CHK-XTEXTITEMAP ITEMS))
  723.                (NITEMS NITEMS)
  724.                (RETURN-VALUE (BLOCK (XDRAWTEXT* DPY D GC X Y ITEMS NITEMS)
  725.                                     '())))
  726.               RETURN-VALUE))
  727. (DEFINE-FOREIGN XDRAWTEXT16*
  728.                 ("XDrawText16" (IN REP/C-POINTER)
  729.                                (IN REP/INTEGER)
  730.                                (IN REP/C-POINTER)
  731.                                (IN REP/INTEGER)
  732.                                (IN REP/INTEGER)
  733.                                (IN REP/C-POINTER)
  734.                                (IN REP/INTEGER))
  735.                 IGNORE)
  736. (DEFINE (XDRAWTEXT16 DPY D GC X Y ITEMS NITEMS)
  737.         (LET* ((DPY (CHK-DISPLAYP DPY))
  738.                (D D)
  739.                (GC (CHK-GC GC))
  740.                (X X)
  741.                (Y Y)
  742.                (ITEMS (CHK-XTEXTITEM16P ITEMS))
  743.                (NITEMS NITEMS)
  744.                (RETURN-VALUE (BLOCK (XDRAWTEXT16* DPY D GC X Y ITEMS NITEMS)
  745.                                     '())))
  746.               RETURN-VALUE))
  747. (DEFINE-FOREIGN XDRAWSTRING*
  748.                 ("XDrawString" (IN REP/C-POINTER)
  749.                                (IN REP/INTEGER)
  750.                                (IN REP/C-POINTER)
  751.                                (IN REP/INTEGER)
  752.                                (IN REP/INTEGER)
  753.                                (IN REP/STRING)
  754.                                (IN REP/INTEGER))
  755.                 IGNORE)
  756. (DEFINE (XDRAWSTRING DPY D GC X Y STRING LENGTH)
  757.         (LET* ((DPY (CHK-DISPLAYP DPY))
  758.                (D D)
  759.                (GC (CHK-GC GC))
  760.                (X X)
  761.                (Y Y)
  762.                (STRING (IF (STRING? STRING)
  763.                            (STRING->ASCIZ! STRING)
  764.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  765.                (LENGTH LENGTH)
  766.                (RETURN-VALUE (BLOCK (XDRAWSTRING* DPY D GC X Y STRING LENGTH)
  767.                                     '())))
  768.               RETURN-VALUE))
  769. (DEFINE-FOREIGN XDRAWSTRING16*
  770.                 ("XDrawString16" (IN REP/C-POINTER)
  771.                                  (IN REP/INTEGER)
  772.                                  (IN REP/C-POINTER)
  773.                                  (IN REP/INTEGER)
  774.                                  (IN REP/INTEGER)
  775.                                  (IN REP/C-POINTER)
  776.                                  (IN REP/INTEGER))
  777.                 IGNORE)
  778. (DEFINE (XDRAWSTRING16 DPY D GC X Y STRING LENGTH)
  779.         (LET* ((DPY (CHK-DISPLAYP DPY))
  780.                (D D)
  781.                (GC (CHK-GC GC))
  782.                (X X)
  783.                (Y Y)
  784.                (STRING (CHK-XCHAR2BAP STRING))
  785.                (LENGTH LENGTH)
  786.                (RETURN-VALUE (BLOCK (XDRAWSTRING16* DPY D GC X Y STRING LENGTH)
  787.                                     '())))
  788.               RETURN-VALUE))
  789. (DEFINE-FOREIGN XDRAWIMAGESTRING*
  790.                 ("XDrawImageString" (IN REP/C-POINTER)
  791.                                     (IN REP/INTEGER)
  792.                                     (IN REP/C-POINTER)
  793.                                     (IN REP/INTEGER)
  794.                                     (IN REP/INTEGER)
  795.                                     (IN REP/STRING)
  796.                                     (IN REP/INTEGER))
  797.                 IGNORE)
  798. (DEFINE (XDRAWIMAGESTRING DPY D GC X Y STRING LENGTH)
  799.         (LET* ((DPY (CHK-DISPLAYP DPY))
  800.                (D D)
  801.                (GC (CHK-GC GC))
  802.                (X X)
  803.                (Y Y)
  804.                (STRING (IF (STRING? STRING)
  805.                string
  806.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  807.                (LENGTH LENGTH)
  808.                (RETURN-VALUE (BLOCK (XDRAWIMAGESTRING* DPY
  809.                                                        D
  810.                                                        GC
  811.                                                        X
  812.                                                        Y
  813.                                                        STRING
  814.                                                        LENGTH)
  815.                                     '())))
  816.               RETURN-VALUE))
  817. (DEFINE-FOREIGN XDRAWIMAGESTRING16*
  818.                 ("XDrawImageString16" (IN REP/C-POINTER)
  819.                                       (IN REP/INTEGER)
  820.                                       (IN REP/C-POINTER)
  821.                                       (IN REP/INTEGER)
  822.                                       (IN REP/INTEGER)
  823.                                       (IN REP/C-POINTER)
  824.                                       (IN REP/INTEGER))
  825.                 IGNORE)
  826. (DEFINE (XDRAWIMAGESTRING16 DPY D GC X Y STRING LENGTH)
  827.         (LET* ((DPY (CHK-DISPLAYP DPY))
  828.                (D D)
  829.                (GC (CHK-GC GC))
  830.                (X X)
  831.                (Y Y)
  832.                (STRING (CHK-XCHAR2BAP STRING))
  833.                (LENGTH LENGTH)
  834.                (RETURN-VALUE (BLOCK (XDRAWIMAGESTRING16* DPY
  835.                                                          D
  836.                                                          GC
  837.                                                          X
  838.                                                          Y
  839.                                                          STRING
  840.                                                          LENGTH)
  841.                                     '())))
  842.               RETURN-VALUE))
  843. (DEFINE-FOREIGN XPUTIMAGE*
  844.                 ("XPutImage" (IN REP/C-POINTER)
  845.                              (IN REP/INTEGER)
  846.                              (IN REP/C-POINTER)
  847.                              (IN REP/C-POINTER)
  848.                              (IN REP/INTEGER)
  849.                              (IN REP/INTEGER)
  850.                              (IN REP/INTEGER)
  851.                              (IN REP/INTEGER)
  852.                              (IN REP/INTEGER)
  853.                              (IN REP/INTEGER))
  854.                 IGNORE)
  855. (DEFINE (XPUTIMAGE DPY
  856.                    D
  857.                    GC
  858.                    IMAGE
  859.                    REQ_XOFFSET
  860.                    REQ_YOFFSET
  861.                    X
  862.                    Y
  863.                    REQ_WIDTH
  864.                    REQ_HEIGHT)
  865.         (LET* ((DPY (CHK-DISPLAYP DPY))
  866.                (D D)
  867.                (GC (CHK-GC GC))
  868.                (IMAGE (CHK-XIMAGEP IMAGE))
  869.                (REQ_XOFFSET REQ_XOFFSET)
  870.                (REQ_YOFFSET REQ_YOFFSET)
  871.                (X X)
  872.                (Y Y)
  873.                (REQ_WIDTH REQ_WIDTH)
  874.                (REQ_HEIGHT REQ_HEIGHT)
  875.                (RETURN-VALUE (BLOCK (XPUTIMAGE* DPY
  876.                                                 D
  877.                                                 GC
  878.                                                 IMAGE
  879.                                                 REQ_XOFFSET
  880.                                                 REQ_YOFFSET
  881.                                                 X
  882.                                                 Y
  883.                                                 REQ_WIDTH
  884.                                                 REQ_HEIGHT)
  885.                                     '())))
  886.               RETURN-VALUE))
  887. (DEFINE-FOREIGN XGETIMAGE*
  888.                 ("XGetImage" (IN REP/C-POINTER)
  889.                              (IN REP/INTEGER)
  890.                              (IN REP/INTEGER)
  891.                              (IN REP/INTEGER)
  892.                              (IN REP/INTEGER)
  893.                              (IN REP/INTEGER)
  894.                              (IN REP/INTEGER)
  895.                              (IN REP/INTEGER))
  896.                 REP/C-POINTER)
  897. (DEFINE (XGETIMAGE DPY D X Y WIDTH HEIGHT PLANE_MASK FORMAT)
  898.         (LET* ((DPY (CHK-DISPLAYP DPY))
  899.                (D D)
  900.                (X X)
  901.                (Y Y)
  902.                (WIDTH WIDTH)
  903.                (HEIGHT HEIGHT)
  904.                (PLANE_MASK PLANE_MASK)
  905.                (FORMAT FORMAT)
  906.                (RETURN-VALUE (CONS 'XIMAGEP
  907.                                    (XGETIMAGE* DPY
  908.                                                D
  909.                                                X
  910.                                                Y
  911.                                                WIDTH
  912.                                                HEIGHT
  913.                                                PLANE_MASK
  914.                                                FORMAT))))
  915.               RETURN-VALUE))
  916. (DEFINE-FOREIGN XGETSUBIMAGE*
  917.                 ("XGetSubImage" (IN REP/C-POINTER)
  918.                                 (IN REP/INTEGER)
  919.                                 (IN REP/INTEGER)
  920.                                 (IN REP/INTEGER)
  921.                                 (IN REP/INTEGER)
  922.                                 (IN REP/INTEGER)
  923.                                 (IN REP/INTEGER)
  924.                                 (IN REP/INTEGER)
  925.                                 (IN REP/C-POINTER)
  926.                                 (IN REP/INTEGER)
  927.                                 (IN REP/INTEGER))
  928.                 REP/C-POINTER)
  929. (DEFINE (XGETSUBIMAGE DPY
  930.                       D
  931.                       X
  932.                       Y
  933.                       WIDTH
  934.                       HEIGHT
  935.                       PLANE_MASK
  936.                       FORMAT
  937.                       DEST_IMAGE
  938.                       DEST_X
  939.                       DEST_Y)
  940.         (LET* ((DPY (CHK-DISPLAYP DPY))
  941.                (D D)
  942.                (X X)
  943.                (Y Y)
  944.                (WIDTH WIDTH)
  945.                (HEIGHT HEIGHT)
  946.                (PLANE_MASK PLANE_MASK)
  947.                (FORMAT FORMAT)
  948.                (DEST_IMAGE (CHK-XIMAGEP DEST_IMAGE))
  949.                (DEST_X DEST_X)
  950.                (DEST_Y DEST_Y)
  951.                (RETURN-VALUE (CONS 'XIMAGEP
  952.                                    (XGETSUBIMAGE* DPY
  953.                                                   D
  954.                                                   X
  955.                                                   Y
  956.                                                   WIDTH
  957.                                                   HEIGHT
  958.                                                   PLANE_MASK
  959.                                                   FORMAT
  960.                                                   DEST_IMAGE
  961.                                                   DEST_X
  962.                                                   DEST_Y))))
  963.               RETURN-VALUE))
  964. (DEFINE-FOREIGN XCREATEFONTCURSOR*
  965.                 ("XCreateFontCursor" (IN REP/C-POINTER) (IN REP/INTEGER))
  966.                 REP/INTEGER)
  967. (DEFINE (XCREATEFONTCURSOR DPY WHICH)
  968.         (LET* ((DPY (CHK-DISPLAYP DPY))
  969.                (WHICH WHICH)
  970.                (RETURN-VALUE (XCREATEFONTCURSOR* DPY WHICH)))
  971.               RETURN-VALUE))
  972. (DEFINE-FOREIGN XCREATEPIXMAPCURSOR*
  973.                 ("XCreatePixmapCursor" (IN REP/C-POINTER)
  974.                                        (IN REP/INTEGER)
  975.                                        (IN REP/INTEGER)
  976.                                        (IN REP/C-POINTER)
  977.                                        (IN REP/C-POINTER)
  978.                                        (IN REP/INTEGER)
  979.                                        (IN REP/INTEGER))
  980.                 REP/INTEGER)
  981. (DEFINE (XCREATEPIXMAPCURSOR DPY SOURCE MASK FOREGROUND BACKGROUND X Y)
  982.         (LET* ((DPY (CHK-DISPLAYP DPY))
  983.                (SOURCE SOURCE)
  984.                (MASK MASK)
  985.                (FOREGROUND (CHK-XCOLORP FOREGROUND))
  986.                (BACKGROUND (CHK-XCOLORP BACKGROUND))
  987.                (X X)
  988.                (Y Y)
  989.                (RETURN-VALUE (XCREATEPIXMAPCURSOR* DPY
  990.                                                    SOURCE
  991.                                                    MASK
  992.                                                    FOREGROUND
  993.                                                    BACKGROUND
  994.                                                    X
  995.                                                    Y)))
  996.               RETURN-VALUE))
  997. (DEFINE-FOREIGN XCREATEGLYPHCURSOR*
  998.                 ("XCreateGlyphCursor" (IN REP/C-POINTER)
  999.                                       (IN REP/INTEGER)
  1000.                                       (IN REP/INTEGER)
  1001.                                       (IN REP/INTEGER)
  1002.                                       (IN REP/INTEGER)
  1003.                                       (IN REP/C-POINTER)
  1004.                                       (IN REP/C-POINTER))
  1005.                 REP/INTEGER)
  1006. (DEFINE (XCREATEGLYPHCURSOR DPY
  1007.                             SOURCE_FONT
  1008.                             MASK_FONT
  1009.                             SOURCE_CHAR
  1010.                             MASK_CHAR
  1011.                             FOREGROUND
  1012.                             BACKGROUND)
  1013.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1014.                (SOURCE_FONT SOURCE_FONT)
  1015.                (MASK_FONT MASK_FONT)
  1016.                (SOURCE_CHAR SOURCE_CHAR)
  1017.                (MASK_CHAR MASK_CHAR)
  1018.                (FOREGROUND (CHK-XCOLORP FOREGROUND))
  1019.                (BACKGROUND (CHK-XCOLORP BACKGROUND))
  1020.                (RETURN-VALUE (XCREATEGLYPHCURSOR* DPY
  1021.                                                   SOURCE_FONT
  1022.                                                   MASK_FONT
  1023.                                                   SOURCE_CHAR
  1024.                                                   MASK_CHAR
  1025.                                                   FOREGROUND
  1026.                                                   BACKGROUND)))
  1027.               RETURN-VALUE))
  1028. (DEFINE-FOREIGN XRECOLORCURSOR*
  1029.                 ("XRecolorCursor" (IN REP/C-POINTER)
  1030.                                   (IN REP/INTEGER)
  1031.                                   (IN REP/C-POINTER)
  1032.                                   (IN REP/C-POINTER))
  1033.                 IGNORE)
  1034. (DEFINE (XRECOLORCURSOR DPY CURSOR FOREGROUND BACKGROUND)
  1035.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1036.                (CURSOR CURSOR)
  1037.                (FOREGROUND (CHK-XCOLORP FOREGROUND))
  1038.                (BACKGROUND (CHK-XCOLORP BACKGROUND))
  1039.                (RETURN-VALUE (BLOCK (XRECOLORCURSOR* DPY
  1040.                                                      CURSOR
  1041.                                                      FOREGROUND
  1042.                                                      BACKGROUND)
  1043.                                     '())))
  1044.               RETURN-VALUE))
  1045. (DEFINE-FOREIGN XFREECURSOR*
  1046.                 ("XFreeCursor" (IN REP/C-POINTER) (IN REP/INTEGER))
  1047.                 IGNORE)
  1048. (DEFINE (XFREECURSOR DPY CURSOR)
  1049.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1050.                (CURSOR CURSOR)
  1051.                (RETURN-VALUE (BLOCK (XFREECURSOR* DPY CURSOR) '())))
  1052.               RETURN-VALUE))
  1053. (DEFINE-FOREIGN XQUERYBESTCURSOR*
  1054.                 ("XQueryBestCursor" (IN REP/C-POINTER)
  1055.                                     (IN REP/INTEGER)
  1056.                                     (IN REP/INTEGER)
  1057.                                     (IN REP/INTEGER)
  1058.                                     (IN REP/EXTEND)
  1059.                                     (IN REP/EXTEND))
  1060.                 REP/INTEGER)
  1061. (DEFINE (XQUERYBESTCURSOR DPY DRAWABLE WIDTH HEIGHT)
  1062.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1063.                (DRAWABLE DRAWABLE)
  1064.                (WIDTH WIDTH)
  1065.                (HEIGHT HEIGHT)
  1066.                (RET_WIDTH (MAKE-BYTEV 4))
  1067.                (RET_HEIGHT (MAKE-BYTEV 4))
  1068.                (RETURN-VALUE (XQUERYBESTCURSOR* DPY
  1069.                                                 DRAWABLE
  1070.                                                 WIDTH
  1071.                                                 HEIGHT
  1072.                                                 RET_WIDTH
  1073.                                                 RET_HEIGHT)))
  1074.               (RETURN RETURN-VALUE
  1075.                       (MREF-INTEGER RET_WIDTH 0)
  1076.                       (MREF-INTEGER RET_HEIGHT 0))))
  1077. (DEFINE-FOREIGN XDEFINECURSOR*
  1078.                 ("XDefineCursor" (IN REP/C-POINTER)
  1079.                                  (IN REP/INTEGER)
  1080.                                  (IN REP/INTEGER))
  1081.                 IGNORE)
  1082. (DEFINE (XDEFINECURSOR DPY W CURSOR)
  1083.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1084.                (W W)
  1085.                (CURSOR CURSOR)
  1086.                (RETURN-VALUE (BLOCK (XDEFINECURSOR* DPY W CURSOR) '())))
  1087.               RETURN-VALUE))
  1088. (DEFINE-FOREIGN XUNDEFINECURSOR*
  1089.                 ("XUndefineCursor" (IN REP/C-POINTER) (IN REP/INTEGER))
  1090.                 IGNORE)
  1091. (DEFINE (XUNDEFINECURSOR DPY W)
  1092.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1093.                (W W)
  1094.                (RETURN-VALUE (BLOCK (XUNDEFINECURSOR* DPY W) '())))
  1095.               RETURN-VALUE))
  1096.